Skip to content

[WIP] Demo for Skills Over MCP#2360

Draft
olaservo wants to merge 5 commits intogithub:mainfrom
olaservo:add-agent-skills
Draft

[WIP] Demo for Skills Over MCP#2360
olaservo wants to merge 5 commits intogithub:mainfrom
olaservo:add-agent-skills

Conversation

@olaservo
Copy link
Copy Markdown
Contributor

This branch demonstrates serving Agent Skills bundled as MCP Resources, following the Draft SEP for Skills Extension: modelcontextprotocol/experimental-ext-skills#69

For more background, see the Skills Over MCP WG Repo: https://github.com/modelcontextprotocol/experimental-ext-skills

(Note: template-based skills resources are not yet implemented in this branch.)

olaservo and others added 4 commits April 19, 2026 19:58
Introduce a reusable `skills` package that lets an MCP server publish
server-bundled Agent Skills (SKILL.md files shipped in the binary) per
the skills-over-MCP SEP (SEP-2133):

  - skills.Bundled describes one skill (name, description, embedded
    content, optional icons, optional enabled predicate for runtime
    gating on toolsets/feature-flags/headers)
  - skills.Registry collects entries, declares the
    `io.modelcontextprotocol/skills` extension capability on the server,
    and installs each SKILL.md as an MCP resource plus a
    skill://index.json discovery document conforming to the
    agentskills.io/discovery/0.2.0 schema

The package has no GitHub-specific state — any MCP server author can
drop it in to publish bundled skills with a small amount of wiring.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Ship a SKILL.md at skills/pull-requests/SKILL.md that documents the
pending-review workflow for submitting a multi-comment GitHub pull
request review (pull_request_review_write → add_comment_to_pending_review
→ submit_pending). The skill file lives at the repo root so it is also
usable as a plain agent skill by any consumer that scans the repo
(Claude Code, the agent-skills CLI), independent of this server.

Register the skill via skills.Registry in NewMCPServer, gated on the
pull_requests toolset being enabled. Both stdio and HTTP transports
pick it up since both routes through NewMCPServer. The pull_requests
toolset's inline server instructions are unchanged — skill-aware hosts
discover the skill through the extension capability, skill://index.json,
and resources/list; older hosts continue to receive the same inline
instructions they always have.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The bundled skill now reads differently from the inline server
instructions rather than mirroring them, showing the point of
progressive disclosure: a skill-aware host spends no extra context on
every request but can pull the deeper version on demand.

Restructure into "When to use", "Workflow" (numbered steps), and
"Caveats" sections per the agentskills.io spec's recommended body
shape. Add content that is *not* in the inline instructions:
- when to skip this flow (single top-level comment / approve without
  inline feedback)
- the pending-ness hinges on omitting `event` in step 1
- specific line-ref parameter names (path, line, side, startLine,
  startSide)
- the concrete `APPROVE | REQUEST_CHANGES | COMMENT` event values
- pending reviews are invisible to the PR author and can be deleted
  via `method: "delete_pending"`

Update the embedded-content test to check for the new `## Workflow`
section header and a second tool-name presence assertion.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Ship a second bundled skill that walks the agent through systematic
GitHub notifications triage: enumerate with list_notifications,
partition by reason (review_requested / mention / assign /
security_alert — high; author / comment / state_change — medium;
ci_activity / subscribed — low), act on high-priority items, then
dismiss with state "done" or "read" per the skill's rule.

Demonstrates:
- Multiple bundled skills in one server (registry now has two entries).
- Per-skill toolset gating — pull-requests gates on pull_requests,
  inbox-triage gates on the non-default notifications toolset, so
  enabling one does not force the other.
- Cross-skill reference (the inbox-triage workflow points at the
  pull-requests skill when handling review_requested items).
- Skills teaching workflow judgment (priority buckets) that tool
  descriptions alone cannot encode.

Tests cover the symmetric structural checks, per-toolset registration
paths, the multi-skill index.json shape, and the capability declaration
firing on either toolset.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@stasyu2009-ux
Copy link
Copy Markdown

Я зробив тестування та там ще треба щоб було виправити проблему треба трохи додати деяких функціоналів я все зробив дякую за увагу.

Expands the Agent Skills surface from 2 to 28 bundled skills, adds a
per-repo resource template covering arbitrary GitHub repositories, and
introduces a model-facing discovery tool to bridge the gap left by the
SEP's UI-only completion mechanism.

- Import 25 workflow-oriented skills from github#2374
  as standalone SKILL.md files (skip review-pr and handle-notifications
  due to overlap with our pull-requests / inbox-triage). Migrate URI
  shape to skill://github/<name>/SKILL.md to match github#2374's prefix style.

- Remove the legacy Instructions / InstructionsFunc / WithServerInstructions
  machinery (~300 lines). Skills are now the only guidance surface.

- Add a SEP-aligned per-repo resource template
  skill://{owner}/{repo}/{skill_name}/{+file_path} (from PR github#2129, with
  the non-SEP _manifest endpoint dropped). Gated on a new non-default
  `skills` toolset. Index now advertises both SEP entry types
  (skill-md and mcp-resource-template).

- Add list_repo_skills tool that wraps the existing discoverSkills() and
  returns each discovered skill plus a skill:// URL ready for
  resources/read. Workaround for autonomous-agent discovery on unbounded
  template namespaces — documented as such.

- Add discover-mcp-skills meta-skill (always-on) that teaches the model
  the discover-then-read workflow for both bundled and repo-hosted
  surfaces.

Verified end-to-end against anthropics/skills via stdio JSON-RPC: full
loop from index read through SKILL.md to relative-file resolution works.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants